package com.irdstudio.apicenter.frame.tag.bootstrap;

import javax.servlet.jsp.JspException;

import com.irdstudio.apicenter.frame.tag.ParentTagSupport;

/**
 * 页面标签，负责整个页面的初始化工作
 * 
 * @author guangming.li
 * @date 2015-06-15
 * @version 1.0
 */
public class TPage extends ParentTagSupport {

	private static final long serialVersionUID = 1L;

	/**
	 * 是否自动的对页面内的标签进行注册，缺省是true<br>
	 * 如果不自动，则需要手工在onLoad中调用page.renderEmpObjects()进行注册
	 */
	protected boolean autoLoad = true;

	@Override
	public int doStartTag() throws JspException {

		// ServletRequest request = pageContext.getRequest();
		// EMPExtPageObjects pageObjs = (EMPExtPageObjects) request
		// .getAttribute(EMPExtPageObjects.PARAM_NAME);
		//		
		// if (pageObjs == null) {
		// pageObjs = new EMPExtPageObjects();
		// pageObjs.depth = 0;
		// request.setAttribute(EMPExtPageObjects.PARAM_NAME, pageObjs);
		// } else {
		// pageObjs.depth++;
		// }

		return EVAL_BODY_INCLUDE;
	}

	@Override
	public int doEndTag() throws JspException {
		//
		// ServletRequest request = pageContext.getRequest();
		// EMPExtPageObjects pageObjs = (EMPExtPageObjects) request
		// .getAttribute(EMPExtPageObjects.PARAM_NAME);
		//
		// if (pageObjs.depth==0) {
		// StringBuffer sb = new StringBuffer();
		// sb.append("<script>\n");
		// sb.append("if(!page){\n");
		// sb.append("\tvar page = new EMP.util.Page();\n");
		// sb.append("}\n");
		// sb.append("page.objectsDefine = ");
		// sb.append(pageObjs.getJsonDefine()).append(";\n");
		//			
		// // 获得MenuId，通常用于页面的权限判断
		// String menuId = this.getDataValue("menuId");
		// if(menuId != null){
		// sb.append("page.menuId = '").append(menuId).append("';\n");
		// }
		// if(this.autoLoad){
		// sb.append("page.renderEmpObjects();\n");
		// }
		//			
		// sb.append("</script>\n");
		//
		// this.outputContent(sb.toString());
		// } else {
		// pageObjs.depth--;
		// }
		return SKIP_BODY;
	}

	public boolean isAutoLoad() {
		return autoLoad;
	}

	public void setAutoLoad(boolean autoLoad) {
		this.autoLoad = autoLoad;
	}
}
